1. The Field of the Invention
This invention relates to systems, methods, and computer program products for modeling and design.
2. Background and Relevant Art
As computerized systems have increased in popularity, so has the range of applications that incorporate computational technology. Computational technology now extends across a broad range of applications, including a wide range of productivity and entertainment software. Indeed, computational technology and related software can now be found in a wide range of generic applications that are suited for many environments, as well as fairly industry-specific software.
One such industry that has employed specific types of software and other computational technology increasingly over the past few years is that related to building and/or architectural design. In particular, architects and interior designers (or “designers”) use a wide range of design software for designing the aesthetic as well as functional aspects of a given residential or commercial space. In some cases, the designer might use some software programs that might be better suited for exterior design, and then use other software programs that might be better suited for interior design. For example, a designer might implement one software program to design an overall look of a building, and then use the software to design or position each of the functional components of the building, such as weight-bearing walls, trusses in a roof, positioning of electrical outlets, and so on. The designer might then use another software program, whether separately, or as an add-on to the first software program, to design functional walls for offices, design where to place work stations, design the position of desks, chairs, lamps, and so forth.
When designing the exterior and/or interior of a given residential or commercial space, the designer will ordinarily need to take care that each of the elements in the design are structurally sound when built. This is because typical design software allows spaces to be fairly configurable to suit the user's tastes without specific regard in many cases to whether the design will actually work. For example, one typical software design program might allow an architect to design a roof or ceiling that is ill-suited for the number or type of weight-bearing walls the architect has presently drawn. If the roof were actually constructed as designed by the architect, the roof or ceiling might collapse. In a situation such as this, however, the builder might indicate to the architect that the design is physically impossible or impractical, and ask for a redesign. This, of course, can lead to any number of inefficiencies.
Part of the problem with many design software programs that can lead to designing physically impractical structures is the notion that many such design problems require some drawing of a space in flat, two-dimensional space. For example, the outside of a building is designed in a view that emphasizes primarily only height and width, while a top (“plan”) view of a building is designed in a view that emphasizes primarily only length and width. With views such as these, the designer will either need to independently visualize the three-dimensional spacing, or will need to perform a separate three-dimensional rendering of the design, if the software allows for it.
In addition, neither the three-dimensional rendering nor the two-dimensional drawing views are designed to accommodate necessary modifications to the objects or walls, based on real-world materials, or other important constraints. For example, a designer might place several L-shaped desks in a work space that are to be arranged back to back against a cubicle wall. In an ordinary environment, positioning the L-shaped desks together might involve a next step of removing a leg where one leg might be shared, or removing a bracket from one of the L-shaped desks for similar reasons. Accordingly, both the two-dimensional views and three-dimensional renderings of conventional design software captures only what is input, and may still need the designer to later add or remove parts in a specific drawing to reflect real-world usage.
Once a design has been finalized by a designer, the designer will need to generate one or more parts lists that are reflective of the various dimensions and parts placed in any of the design views. The parts list will be used for any number of cost estimate or ordering ends. Unfortunately, there is generally not a convenient way for an accurate parts list to be generated automatically from one or more design views. For example, even though a designer might use a conventional design software program to design one or more views of a space, the designer might need to independently deduce a parts list based on each of the different views. In some cases, the designer might hire another person to identify each part, including wood or sheetrock for each wall, as well as the number of brackets or screws needed for each door hinge, desk mount, and the like.
Although there are some software programs that can produce parts lists from a generated view, the parts lists are not always accurate, and do not adequately resolve potential conflicts in designs. For example, in the case where two L-shaped desks will be adjoined in a work space, a conventional parts list that interfaces with the design software will not ordinarily be able to deduce the correct, specific amount of parts needed, such as in the case of shared components. Furthermore, the parts lists that are generated are difficult to read, and usually comprise some detailed information in text, or in a stock keeping unit (“SKU”), and do not readily inform the reader exactly what the image looks like. Thus, conventional, automatically generated parts lists must often be edited in painstaking fashion before they can be submitted to an order fulfillment company.
Accordingly, an advantage in the art can be realized with systems, methods, and computer program products that provide a designer with the ability to design spaces in a highly configurable, and user-friendly manner. In particular, an advantage can be realized with expert systems that are configured to specifically capture a designer's intent in a manner that can emphasize physically possible or practical configurations in at least one aspect.